<!--
    Input:
        device_framework_matrix.xml
        compatibility_matrix.xml
        vendor_framework_compatibility_matrix.xml
        vendor_framework_compatibility_matrix.xml
        vendor_framework_compatibility_matrix.xml
        vendor_framework_compatibility_matrix.xml
        vendor_framework_compatibility_matrix.xml
        vendor_framework_compatibility_matrix.xml
        vendor_framework_compatibility_matrix.xml
        vendor_framework_compatibility_matrix.xml
        vendor_framework_compatibility_matrix.xml
-->
<compatibility-matrix version="4.0" type="framework">
    <hal format="hidl" optional="true">
        <name>android.hardware.radio</name>
        <version>1.2</version>
        <version>1.6</version>
        <interface>
            <name>IRadio</name>
            <instance>em1</instance>
            <instance>em2</instance>
            <instance>em3</instance>
            <instance>em4</instance>
            <instance>imsAospSlot1</instance>
            <instance>imsAospSlot2</instance>
            <instance>imsAospSlot3</instance>
            <instance>imsAospSlot4</instance>
            <instance>se1</instance>
            <instance>se2</instance>
            <instance>se3</instance>
            <instance>se4</instance>
            <instance>slot1</instance>
            <instance>slot2</instance>
            <instance>slot3</instance>
            <instance>slot4</instance>
        </interface>
        <interface>
            <name>ISap</name>
            <instance>slot1</instance>
            <instance>slot2</instance>
            <instance>slot3</instance>
            <instance>slot4</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>android.hardware.radio.config</name>
        <version>1.3</version>
        <interface>
            <name>IRadioConfig</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.aee</name>
        <version>1.1</version>
        <interface>
            <name>IAee</name>
            <instance>AEE</instance>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.apmonitor</name>
        <version>2.0</version>
        <interface>
            <name>IApmService</name>
            <instance>apm_hidl_service</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.apuware.apusys</name>
        <version>1.0</version>
        <version>2.0</version>
        <version>2.1</version>
        <interface>
            <name>INeuronApusys</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.apuware.hmp</name>
        <version>1.0</version>
        <interface>
            <name>IApuwareHmp</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.apuware.utils</name>
        <version>1.0</version>
        <version>2.0</version>
        <interface>
            <name>IApuwareUtils</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.apuware.xrp</name>
        <version>1.0</version>
        <version>2.0</version>
        <interface>
            <name>INeuronXrp</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.atci</name>
        <version>1.0</version>
        <interface>
            <name>IAtcid</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.bluetooth.audio</name>
        <version>2.1</version>
        <version>2.2</version>
        <interface>
            <name>IBluetoothAudioProvidersFactory</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.camera.atms</name>
        <version>1.0</version>
        <interface>
            <name>IATMs</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.camera.bgservice</name>
        <version>1.1</version>
        <interface>
            <name>IBGService</name>
            <instance>internal/0</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.camera.ccap</name>
        <version>1.0</version>
        <interface>
            <name>ICCAPControl</name>
            <instance>internal/0</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.camera.isphal</name>
        <version>1.1</version>
        <interface>
            <name>IISPModule</name>
            <instance>internal/0</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.camera.postproc</name>
        <version>1.0</version>
        <interface>
            <name>IPostDevice</name>
            <instance>internal/0</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.clientapi</name>
        <version>1.0</version>
        <interface>
            <name>IClientapi</name>
            <instance>clientapi_hal_service</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.composer_ext</name>
        <version>1.0</version>
        <interface>
            <name>IComposerExt</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.dfps</name>
        <version>1.0</version>
        <interface>
            <name>IFpsPolicyService</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.dmc</name>
        <version>1.2</version>
        <interface>
            <name>IDmcService</name>
            <instance>dmc_hidl_service</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.dplanner</name>
        <version>2.0</version>
        <interface>
            <name>IDPlanner</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.engineermode</name>
        <version>1.3</version>
        <interface>
            <name>IEmd</name>
            <instance>EmHidlServer</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.gpu</name>
        <version>1.0</version>
        <interface>
            <name>IGraphicExt</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.hdmi</name>
        <version>1.0</version>
        <interface>
            <name>IMtkHdmiService</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.imsa</name>
        <version>1.0</version>
        <interface>
            <name>IImsa</name>
            <instance>imsa</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.interfaces_tc1.mtkradioex_tc1</name>
        <version>3.0</version>
        <interface>
            <name>IMtkRadioEx</name>
            <instance>mtkAssist1</instance>
            <instance>mtkAssist2</instance>
            <instance>mtkCap1</instance>
            <instance>mtkCap2</instance>
            <instance>mtkEm1</instance>
            <instance>mtkEm2</instance>
            <instance>mtkSe1</instance>
            <instance>mtkSe2</instance>
            <instance>mtkSlot1</instance>
            <instance>mtkSlot2</instance>
            <instance>mtkSmartRatSwitch1</instance>
            <instance>mtkSmartRatSwitch2</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.keymanage</name>
        <version>1.0</version>
        <interface>
            <name>IKeymanage</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.keymaster_attestation</name>
        <version>1.1</version>
        <interface>
            <name>IKeymasterDevice</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.lbs</name>
        <version>1.0</version>
        <interface>
            <name>ILbs</name>
            <instance>AgpsDebugInterface</instance>
            <instance>AgpsInterface</instance>
            <instance>mtk_agps2framework</instance>
            <instance>mtk_agpsd2debugService</instance>
            <instance>mtk_debugService2agpsd</instance>
            <instance>mtk_debugService2mnld</instance>
            <instance>mtk_framework2agps</instance>
            <instance>mtk_lbs_log_v2s</instance>
            <instance>mtk_lppe_socket_agps</instance>
            <instance>mtk_lppe_socket_bt</instance>
            <instance>mtk_lppe_socket_ipaddr</instance>
            <instance>mtk_lppe_socket_lbs</instance>
            <instance>mtk_lppe_socket_network</instance>
            <instance>mtk_lppe_socket_sensor</instance>
            <instance>mtk_lppe_socket_wlan</instance>
            <instance>mtk_meta2mnld</instance>
            <instance>mtk_mnld2debugService</instance>
            <instance>mtk_mnld2mtklogger</instance>
            <instance>mtk_mnld2nlputils</instance>
            <instance>mtk_mtklogger2mnld</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.log</name>
        <version>1.0</version>
        <interface>
            <name>ILog</name>
            <instance>ATMWiFiHidlServer</instance>
            <instance>ConnsysFWHidlServer</instance>
            <instance>LoggerHidlServer</instance>
            <instance>MobileLogHidlServer</instance>
            <instance>ModemLogHidlServer</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.mdmonitor</name>
        <version>1.0</version>
        <interface>
            <name>IMDMonitorService</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.mmagent</name>
        <version>1.1</version>
        <interface>
            <name>IMMAgent</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.mms</name>
        <version>1.6</version>
        <interface>
            <name>IMms</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.mtkcodecservice</name>
        <version>1.1</version>
        <interface>
            <name>IMtkCodecService</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.mtkpower</name>
        <version>1.2</version>
        <interface>
            <name>IMtkPerf</name>
            <instance>default</instance>
        </interface>
        <interface>
            <name>IMtkPower</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.mtkradioex</name>
        <version>2.5</version>
        <interface>
            <name>IMtkRadioEx</name>
            <instance>imsSlot1</instance>
            <instance>imsSlot2</instance>
            <instance>imsSlot3</instance>
            <instance>imsSlot4</instance>
            <instance>mtkAssist1</instance>
            <instance>mtkAssist2</instance>
            <instance>mtkAssist3</instance>
            <instance>mtkAssist4</instance>
            <instance>mtkCap1</instance>
            <instance>mtkCap2</instance>
            <instance>mtkCap3</instance>
            <instance>mtkCap4</instance>
            <instance>mtkEm1</instance>
            <instance>mtkEm2</instance>
            <instance>mtkEm3</instance>
            <instance>mtkEm4</instance>
            <instance>mtkRcs1</instance>
            <instance>mtkRcs2</instance>
            <instance>mtkRcs3</instance>
            <instance>mtkRcs4</instance>
            <instance>mtkSe1</instance>
            <instance>mtkSe2</instance>
            <instance>mtkSe3</instance>
            <instance>mtkSe4</instance>
            <instance>mtkSlot1</instance>
            <instance>mtkSlot2</instance>
            <instance>mtkSlot3</instance>
            <instance>mtkSlot4</instance>
            <instance>mtkSmartRatSwitch1</instance>
            <instance>mtkSmartRatSwitch2</instance>
            <instance>mtkSmartRatSwitch3</instance>
            <instance>mtkSmartRatSwitch4</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.mtkradioex</name>
        <version>3.0</version>
        <interface>
            <name>IMtkRadioEx</name>
            <instance>imsSlot1</instance>
            <instance>imsSlot2</instance>
            <instance>imsSlot3</instance>
            <instance>imsSlot4</instance>
            <instance>mtkAssist1</instance>
            <instance>mtkAssist2</instance>
            <instance>mtkAssist3</instance>
            <instance>mtkAssist4</instance>
            <instance>mtkCap1</instance>
            <instance>mtkCap2</instance>
            <instance>mtkCap3</instance>
            <instance>mtkCap4</instance>
            <instance>mtkEm1</instance>
            <instance>mtkEm2</instance>
            <instance>mtkEm3</instance>
            <instance>mtkEm4</instance>
            <instance>mtkRcs1</instance>
            <instance>mtkRcs2</instance>
            <instance>mtkRcs3</instance>
            <instance>mtkRcs4</instance>
            <instance>mtkRsu1</instance>
            <instance>mtkRsu2</instance>
            <instance>mtkRsu3</instance>
            <instance>mtkRsu4</instance>
            <instance>mtkSe1</instance>
            <instance>mtkSe2</instance>
            <instance>mtkSe3</instance>
            <instance>mtkSe4</instance>
            <instance>mtkSlot1</instance>
            <instance>mtkSlot2</instance>
            <instance>mtkSlot3</instance>
            <instance>mtkSlot4</instance>
            <instance>mtkSmartRatSwitch1</instance>
            <instance>mtkSmartRatSwitch2</instance>
            <instance>mtkSmartRatSwitch3</instance>
            <instance>mtkSmartRatSwitch4</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.netdagent</name>
        <version>1.0</version>
        <interface>
            <name>INetdagent</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.neuropilot.agent</name>
        <version>1.2</version>
        <interface>
            <name>IAgent</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.nvram</name>
        <version>1.1</version>
        <interface>
            <name>INvram</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.nwk_opt</name>
        <version>1.0</version>
        <interface>
            <name>INwkOpt</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.power</name>
        <version>2.1</version>
        <interface>
            <name>IPower</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.pplagent</name>
        <version>1.0</version>
        <interface>
            <name>IPplAgent</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.pq</name>
        <version>2.3-15</version>
        <interface>
            <name>IPictureQuality</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.presence</name>
        <version>1.0</version>
        <interface>
            <name>IPresence</name>
            <instance>presence_hal_service</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.radio_op</name>
        <version>2.0</version>
        <version>3.0</version>
        <interface>
            <name>IRadioOp</name>
            <instance>OpImsRILd1</instance>
            <instance>OpImsRILd2</instance>
            <instance>OpImsRILd3</instance>
            <instance>OpImsRILd4</instance>
            <instance>slot1</instance>
            <instance>slot2</instance>
            <instance>slot3</instance>
            <instance>slot4</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.rcs</name>
        <version>2.0</version>
        <interface>
            <name>IRcs</name>
            <instance>rcs_hal_service</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.thp</name>
        <version>1.0</version>
        <interface>
            <name>ITHP</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.touchll</name>
        <version>1.0</version>
        <interface>
            <name>ITouchll</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.videotelephony</name>
        <version>1.0</version>
        <interface>
            <name>IVideoTelephony</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.vpu</name>
        <version>1.0</version>
        <interface>
            <name>Ivpu</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.wfo</name>
        <version>1.0</version>
        <interface>
            <name>IWifiOffload</name>
            <instance>wfo_hidl_service</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.wifi.hostapd_ext</name>
        <version>1.0</version>
        <interface>
            <name>IHostapdVendor</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.wifi.supplicant</name>
        <version>2.0</version>
        <interface>
            <name>ISupplicant</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.mediatek.hardware.wifi.supplicant</name>
        <version>2.2</version>
        <interface>
            <name>ISupplicant</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="false">
        <name>vendor.microtrust.hardware.soter</name>
        <version>1.0</version>
        <interface>
            <name>ISoter</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.tesiai.hardware.hdcpconnection</name>
        <version>1.0</version>
        <interface>
            <name>IHDCPConnection</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.trustonic.tee</name>
        <version>1.1</version>
        <interface>
            <name>ITee</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.trustonic.tee.tui</name>
        <version>1.0</version>
        <interface>
            <name>ITui</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.xiaomi.hardware.displayfeature</name>
        <version>1.0</version>
        <interface>
            <name>IDisplayFeature</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.xiaomi.hardware.mfidoca</name>
        <version>1.0</version>
        <interface>
            <name>IFidoService</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.xiaomi.hardware.micharge</name>
        <version>1.0</version>
        <interface>
            <name>IMiCharge</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.xiaomi.hardware.misys</name>
        <version>1.0</version>
        <interface>
            <name>IMiSys</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.xiaomi.hardware.misys</name>
        <version>2.0</version>
        <interface>
            <name>IMiSys</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.xiaomi.hardware.misys</name>
        <version>3.0</version>
        <interface>
            <name>IMiSys</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.xiaomi.hardware.mlipay</name>
        <version>1.0-1</version>
        <interface>
            <name>IMlipayService</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.xiaomi.hardware.mtdservice</name>
        <version>1.0-2</version>
        <interface>
            <name>IMTService</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.xiaomi.hardware.otrpagent</name>
        <version>2.0</version>
        <interface>
            <name>IOTrPAgent</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.xiaomi.hardware.tidaservice</name>
        <version>1.0-2</version>
        <interface>
            <name>ITidaService</name>
            <instance>default</instance>
        </interface>
    </hal>
    <hal format="hidl" optional="true">
        <name>vendor.xiaomi.hardware.vsimapp</name>
        <version>1.0</version>
        <interface>
            <name>IVSIMService</name>
            <instance>default</instance>
        </interface>
    </hal>
    <sepolicy>
        <kernel-sepolicy-version>30</kernel-sepolicy-version>
        <sepolicy-version>26.0</sepolicy-version>
        <sepolicy-version>27.0</sepolicy-version>
        <sepolicy-version>28.0</sepolicy-version>
        <sepolicy-version>29.0</sepolicy-version>
        <sepolicy-version>30.0</sepolicy-version>
        <sepolicy-version>31.0</sepolicy-version>
    </sepolicy>
    <avb>
        <vbmeta-version>1.0</vbmeta-version>
    </avb>
</compatibility-matrix>
